﻿using System;

namespace Terraria.ModLoader
{
	// Token: 0x020001C2 RID: 450
	public class ModBuff
	{
		// Token: 0x17000150 RID: 336
		// (get) Token: 0x060012D9 RID: 4825 RVA: 0x0000FA67 File Offset: 0x0000DC67
		// (set) Token: 0x060012DA RID: 4826 RVA: 0x0000FA6F File Offset: 0x0000DC6F
		public Mod mod { get; internal set; }

		// Token: 0x17000151 RID: 337
		// (get) Token: 0x060012DB RID: 4827 RVA: 0x0000FA78 File Offset: 0x0000DC78
		// (set) Token: 0x060012DC RID: 4828 RVA: 0x0000FA80 File Offset: 0x0000DC80
		public string Name { get; internal set; }

		// Token: 0x17000152 RID: 338
		// (get) Token: 0x060012DD RID: 4829 RVA: 0x0000FA89 File Offset: 0x0000DC89
		// (set) Token: 0x060012DE RID: 4830 RVA: 0x0000FA91 File Offset: 0x0000DC91
		public int Type { get; internal set; }

		// Token: 0x17000153 RID: 339
		// (get) Token: 0x060012DF RID: 4831 RVA: 0x0000FA9A File Offset: 0x0000DC9A
		// (set) Token: 0x060012E0 RID: 4832 RVA: 0x0000FAA2 File Offset: 0x0000DCA2
		public ModTranslation DisplayName { get; internal set; }

		// Token: 0x17000154 RID: 340
		// (get) Token: 0x060012E1 RID: 4833 RVA: 0x0000FAAB File Offset: 0x0000DCAB
		// (set) Token: 0x060012E2 RID: 4834 RVA: 0x0000FAB3 File Offset: 0x0000DCB3
		public ModTranslation Description { get; internal set; }

		// Token: 0x060012E3 RID: 4835 RVA: 0x0000FABC File Offset: 0x0000DCBC
		public virtual bool Autoload(ref string name, ref string texture)
		{
			return this.mod.Properties.Autoload;
		}

		// Token: 0x060012E4 RID: 4836 RVA: 0x00006B58 File Offset: 0x00004D58
		public virtual void SetDefaults()
		{
		}

		// Token: 0x060012E5 RID: 4837 RVA: 0x00006B58 File Offset: 0x00004D58
		public virtual void Update(Player player, ref int buffIndex)
		{
		}

		// Token: 0x060012E6 RID: 4838 RVA: 0x00006B58 File Offset: 0x00004D58
		public virtual void Update(NPC npc, ref int buffIndex)
		{
		}

		// Token: 0x060012E7 RID: 4839 RVA: 0x0000ADF8 File Offset: 0x00008FF8
		public virtual bool ReApply(Player player, int time, int buffIndex)
		{
			return false;
		}

		// Token: 0x060012E8 RID: 4840 RVA: 0x0000ADF8 File Offset: 0x00008FF8
		public virtual bool ReApply(NPC npc, int time, int buffIndex)
		{
			return false;
		}

		// Token: 0x060012E9 RID: 4841 RVA: 0x00006B58 File Offset: 0x00004D58
		public virtual void ModifyBuffTip(ref string tip, ref int rare)
		{
		}

		// Token: 0x0400143B RID: 5179
		internal string texture;

		// Token: 0x0400143C RID: 5180
		public bool longerExpertDebuff;

		// Token: 0x0400143D RID: 5181
		public bool canBeCleared = true;
	}
}
